package main

import "fmt"
// b is an int pointer;
// b points to the memory address where an int is stored
// to see the value in that memory address, add a * in front of b
// this is known as dereferencing
// the * is an operator in this case
func main()  {
	a := 44
	fmt.Println(a)
	fmt.Println(&a)
	var b = &a
	fmt.Println(b)
	fmt.Println(&b)
	fmt.Println(*b)
	a = 988
	fmt.Println(b)
	fmt.Printf("%v \n",b)
	fmt.Printf("%v \n",a)
	fmt.Println(&b)
	fmt.Println(*b)
}
